import comtypes.client as com
import time



try:
    # 初始化COM对象
    # //plantSim = com.CreateObject("Tecnomatix.PlantSimulationRemoteControl.16")
    plantSim = com.CreateObject(progid='Tecnomatix.PlantSimulation.RemoteControl.16.0')
    plantSim.setVisible(True) 
    plantSim.SetTrustModels(True)  
    #加载模型 (假设模型路径已知)
    model_path = r"D:\cfproject\cf3\src\server\2024-7-26（遗传算法-AO自动读取）.spp"  #.spp模型路径,绝对地址，相对地址容易出错
    plantSim.LoadModel(model_path )

    # 开始仿真
    plantSim.StartSimulation(".模型.pythontest.事件控制器")

    print("仿真已开始...")

    # 等待一段时间来模拟仿真运行
    time.sleep(5)  # 例如等待5秒钟
    #plantSim.ExcuteSimuTalk('.模型.pythontest.readExcelFile')
    # 停止仿真
    plantSim.StopSimulation()

    print("仿真已停止。")

    # 关闭模型·
    plantSim.CloseModel()
    
    # 退出 COM 对象
    plantSim.Quit()

    print("模型已关闭，COM 对象已退出。")

except Exception as e:
    print(f"发生错误: {e}")

print("hello world")
